How to do it?:

Submission: Submit the link on Github of the assignment to Blackboard.


  1. Install two packages gganimate and gifski then restart Rstudio. Use the WHO’s dataset at this link. Make a top-10 bar race by months between countries on the number of deaths by Covid 19.
library(gganimate)
library(gifski)
library(tidyverse)
library(lubridate)
library(ggplot2)
df <- read_csv("https://covid19.who.int/WHO-COVID-19-global-data.csv")

df$date <- ymd(df$Date_reported)
df$month <- month(df$date)
d1 <- df %>% group_by(month,Country) %>% summarise(mean = mean(Cumulative_deaths))
d2 <- d1 %>% group_by(month) %>% mutate(rank=rank(-mean)) %>% ungroup()
d3 <- d2 %>% filter(rank <= 10)

a1 <- d3 %>% ggplot(aes(x = rank, y = mean, group = Country, fill = Country, label = Country)) + geom_col() +
  geom_text(aes(y = mean, label = Country), hjust = 1.4) +
  coord_flip(clip = "off", expand = FALSE) + scale_x_reverse() +
  labs(title = 'Month {closest_state}', x = '', y = 'Total Number of Deaths', fill = 'country') +
  theme(plot.title = element_text(hjust = 1, size = 22),
        axis.ticks.y = element_blank(),
        axis.text.y = element_blank()) +
  transition_states(month)+
  ease_aes("cubic-in-out")

animate(a1, nframes = 400, fps = 10)

  1. Make another bar race using that dataset.
df <- read_csv("https://covid19.who.int/WHO-COVID-19-global-data.csv")

df$date <- ymd(df$Date_reported)
df$month <- month(df$date)
d1 <- df %>% group_by(month,Country) %>% summarise(mean = mean(Cumulative_cases))
d2 <- d1 %>% group_by(month) %>% mutate(rank=rank(-mean)) %>% ungroup()
d3 <- d2 %>% filter(rank <= 10)

a1 <- d3 %>% ggplot(aes(x = rank, y = mean, group = Country, fill = Country, label = Country)) + geom_col() +
  geom_text(aes(y = mean, label = Country), hjust = 1.4) +
  coord_flip(clip = "off", expand = FALSE) + scale_x_reverse() +
  labs(title = 'Month {closest_state}', x = '', y = 'Total Number of Cases', fill = 'country') +
  theme(plot.title = element_text(hjust = 1, size = 22),
        axis.ticks.y = element_blank(),
        axis.text.y = element_blank()) +
  transition_states(month)+
  ease_aes("cubic-in-out")

animate(a1, nframes = 400, fps = 10)

  1. Make a bar race using a dataset of your own interest. You may use the dataset that we use in class (https://covidtracking.com/data/download/all-states-history.csv) but you should make a different bar racev from ones in the slides.
df <- read_csv("https://covidtracking.com/data/download/all-states-history.csv")

df$date <- ymd(df$date)
df$month <- month(df$date)
d1 <- df %>% group_by(month,state) %>% summarise(mean = mean(death))
d2 <- d1 %>% group_by(month) %>% mutate(rank=rank(-mean)) %>% ungroup()
d3 <- d2 %>% filter(rank <= 10)

a1 <- d3 %>% ggplot(aes(x = rank, y = mean, group = state, fill = state, label = state)) + geom_col() +
  geom_text(aes(y = mean, label = state), hjust = 1.4) +
  coord_flip(clip = "off", expand = FALSE) + scale_x_reverse() +
  labs(title = 'Month {closest_state}', x = '', y = 'Total Number of Deaths', fill = 'state') +
  theme(plot.title = element_text(hjust = 1, size = 22),
        axis.ticks.y = element_blank(),
        axis.text.y = element_blank()) +
  transition_states(month)+
  ease_aes("cubic-in-out")

animate(a1, nframes = 400, fps = 10)
## Warning: Removed 11 rows containing missing values (position_stack).
## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).

## Warning: Removed 2 rows containing missing values (geom_text).
## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).

## Warning: Removed 3 rows containing missing values (geom_text).
## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).

## Warning: Removed 6 rows containing missing values (geom_text).
## Warning: Removed 1 rows containing missing values (geom_text).

## Warning: Removed 1 rows containing missing values (geom_text).

## Warning: Removed 1 rows containing missing values (geom_text).

## Warning: Removed 1 rows containing missing values (geom_text).

## Warning: Removed 1 rows containing missing values (geom_text).

## Warning: Removed 1 rows containing missing values (geom_text).

## Warning: Removed 1 rows containing missing values (geom_text).

## Warning: Removed 1 rows containing missing values (geom_text).

## Warning: Removed 1 rows containing missing values (geom_text).

## Warning: Removed 1 rows containing missing values (geom_text).

## Warning: Removed 1 rows containing missing values (geom_text).

## Warning: Removed 1 rows containing missing values (geom_text).

## Warning: Removed 1 rows containing missing values (geom_text).

## Warning: Removed 1 rows containing missing values (geom_text).

## Warning: Removed 1 rows containing missing values (geom_text).

## Warning: Removed 1 rows containing missing values (geom_text).

## Warning: Removed 1 rows containing missing values (geom_text).

## Warning: Removed 1 rows containing missing values (geom_text).

## Warning: Removed 1 rows containing missing values (geom_text).